<?php 

	include("config.php");
    include(INCLUDEDIR."core.php");
	include("acceso.php");
	include("../graficos/include/core.php");

	$tpl = new Plantilla();
	$tpl->setPlantilla("tpl.cuentas.html");
	$tpl->prepare();

	$id_yo = isset($_GET['ida'])?intval($_GET['ida']):0;	
	
	Post2Get();	
	
	$persona = db::getRow("SELECT * FROM personas WHERE id_persona = '$id_yo'");
	if(count($persona)==0)  redir("index.php","No tiene permiso para ver esta pagina",true);
	
	
		
	
	
	$tiposbalance = array(	"1" => "Este Mes",
							"2" => "Mes Anterior",
							"3" => "Intervalo");

	$texto = isset($_GET['texto'])?sanitizar($_GET['texto']):"";
	
	/*if($_GET['ida'] && $_GET['accion']=="eliminar_alumno") {
		$id_alumno = intval($_GET['ida']); 
		$alumno = db::getRow("SELECT * FROM alumnos WHERE id_alumno = '$id_alumno'");
		mysql_query("DELETE FROM pagos WHERE id_alumno = '$id_alumno'");
		mysql_query("DELETE FROM clases_detalle WHERE id_alumno = '$id_alumno'");
		mysql_query("DELETE FROM alumnos WHERE id_alumno = '$id_alumno'");
		registrar_log("Ha eliminado ".$alumno['nombre_alumno']." ci: ".$alumno['ci']." email: ".$alumno['email']);
		redir($_SERVER['PHP_SELF'],"El alumno ha sido eliminado.");
	}*/
	
	
	if($_POST) {
		$arr = array();
		foreach($_POST as $k => $v) {
			if(!empty($v)) $arr[] = $k."=".urlencode($v);
		}
		header("location: ".$_SERVER['PHP_SELF']."?".implode($arr,"&"));
		exit();
	}
	
	$fecha_desde = isset($_GET['fecha_desde'])?$_GET['fecha_desde']:date("1-m-Y");
	$fecha_hasta = isset($_GET['fecha_hasta'])?$_GET['fecha_hasta']:date("d-m-Y");
	$tipobalance = isset($_GET['tipobalance'])?intval($_GET['tipobalance']):3;
	
	if($tipobalance==1) {
		$fecha_desde = date("01-m-Y");
		$fecha_hasta = date("d-m-Y");	
	}
	
	if($tipobalance==2) {
		$current = date("Y-m-01 H:i:s");
		$fecha_desde = date("d-m-Y",strtotime($current." -1 month"));
		$fecha_hasta = date("d-m-Y",strtotime($current." -1 day"));
	}
	
	$tpl->newBlock("BALANCE");
	$tpl->assign("fecha_desde",$fecha_desde);
	$tpl->assign("fecha_hasta",$fecha_hasta);
	$tpl->assign("balance",tomoney(getSaldo($id_yo)));
	$tpl->assign("combotipobalance",genCombo("tipobalance",$tiposbalance,$tipobalance,""));
	$tpl->assign("ida",$id_yo);
	$tpl->assign("nombre_persona"," (".$persona['nombre_persona'].")");
	
	$query = "SELECT __CAMPOS__ FROM vista_balance  __WHERE__ ";		
			
	$orden = "ORDER BY vista_balance.fecha ASC";
			
		
	$filtros = array();
	if($fecha_desde!="") {
		$filtros[] = "vista_balance.fecha >= '".fecha_a_db($fecha_desde)."'";	
	}
	
	$filtros[] = "vista_balance.id_persona = '$id_yo'";
	
	if($fecha_hasta!="") {
		$filtros[] = "vista_balance.fecha <= '".fecha_a_db($fecha_hasta)."'";	
	}
	
	if(count($filtros)>0) {
		$query = str_replace("__WHERE__","WHERE (".implode(" AND ",$filtros).")",$query);	
	} else {
		$query = str_replace("__WHERE__","",$query);	
	}
	
	
	/*
	// PAGINACION 
	$maxitems = 1000;	
	$totalitems =intval(db::ExecuteScalar(str_replace("__CAMPOS__","count(*)",$query)));
	$totalpaginas = ceil($totalitems/$maxitems);
	$pagina_actual = intval($_GET['pa']);
	$offset = $pagina_actual*$maxitems;
	$tpl->assign("paginacion",paginacion($totalpaginas,$pagina_actual,$totalitems));
	// PAGINACION
	*/
	
	$saldo = 0;
	//if($fecha_desde!="") $saldo = -(getSaldoAnterior(fecha_a_db($fecha_desde),$id_yo));
	$saldoanterior = $saldo;
	
	
	
	if($saldo>0) {
		$tpl->newBlock("BALANCEITEM");
		$tpl->assign("fecha_transaccion",$fecha_desde);
		$tpl->assign("descripcion","Saldo anterior");
		$tpl->assign("saldo",tomoney($saldo));
		
	}
	
	$consulta = str_replace("__CAMPOS__","*",$query).$orden; //" LIMIT $maxitems OFFSET $offset";
	$result = mysql_query($consulta);
	if($result && mysql_num_rows($result)>0) {
		$tpl->newBlock("BALANCETABLA");
		$total_ingreso = 0;
		$total_egreso = 0;
		$query = "	SELECT SUM(monto) 
					FROM vista_balance WHERE id_persona = '$id_yo' 
					AND fecha < '".fecha_a_db($fecha_desde)."'";
					
		$anterior = floatval(db::getScalar($query));
		if($anterior!=0) {
			$tpl->newBlock("BALANCEITEM");
			$tpl->assign("descripcion","CUENTAS ANTERIORES");
			$monto = $anterior;
			if($monto>0) {
				$tpl->assign("ingreso",tomoney($monto));
				$total_ingreso+=$monto;	
			} else {
				$tpl->assign("egreso",tomoney($monto));
				$total_egreso+=$monto;	
			}
		}
		while($fila = mysql_fetch_assoc($result)) {
			$tpl->newBlock("BALANCEITEM");
			$monto = floatval($fila['monto']);
			$tpl->assign("descripcion",$fila['descripcion']);
			if($monto>0) {
				$tpl->assign("ingreso",tomoney($monto));
				$total_ingreso+=$monto;	
			} else {
				$tpl->assign("egreso",tomoney($monto));
				$total_egreso+=$monto;
			}
			//$tpl->assign("nombre_persona",empty($nombre)?"":enlace("ver_perfil.php?ida=".$fila['id_persona'],$nombre));
			$tpl->assign("fecha_cuenta",db_a_fecha($fila['fecha']));			
		}		
		$tpl->newBlock("BALANCETOTAL");
		$tpl->assign("totalingreso",tomoney($total_ingreso));
		$tpl->assign("totalegreso",tomoney($total_egreso));
		$tpl->assign("total",tomoney($total_ingreso+$total_egreso));
	} else {
		$tpl->newBlock("SINRES");	
	}
	
	$fechamin = db::ExecuteScalar("SELECT COALESCE(MIN(fecha_transaccion),DATE('2010-01-01')) AS fecha FROM transacciones");
	$fechamax = db::ExecuteScalar("SELECT COALESCE(MAX(fecha_transaccion),DATE('2100-01-01')) AS fecha FROM transacciones");
	$date1 = isset($_GET['fecha_desde'])?fecha_a_db($_GET['fecha_desde']):$fechamin;
	$date2 = isset($_GET['fecha_hasta'])?fecha_a_db($_GET['fecha_hasta']):$fechamax;
	
	$tpl->newBlock("RESUMEN");
	$ingresos = getIngresos($date1,$date2)-$saldoanterior;
	$egresos = getEgresos($date1,$date2);
	$utilidades = $ingresos+$egresos;
	$tpl->assign("ingresos",color(tomoney($ingresos),"green"));
	$tpl->assign("egresos",color(tomoney($egresos),"red"));
	$tpl->assign("utilidades",color(tomoney($utilidades),"green"));
	$tpl->assign("utilidadesperiodo",color(tomoney($utilidadesperiodo),"blue"));
	// resumen de profesores
	
	
	
	$query = "	SELECT SUM(monto) AS total,MONTH(fecha_cuenta) as mes
				FROM cuentas WHERE id_persona = '$id_yo' AND YEAR(fecha_cuenta)=YEAR(CURRENT_DATE) 
				GROUP BY MONTH(fecha_cuenta) ORDER BY fecha_cuenta";
				
	$meses = array( "Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic");
	
	$result = mysql_query($query);
	$grafico = new Grafico(2);
	$grafico->setTitulo("Ingresos en el ".date("Y"));	
	$grafico->setTituloX("Mes");
	$grafico->setTituloY("Bs");
	$grafico->setDecimales(2);
	$grafico->setPrefijo("Bs ");
	
	if($result && mysql_num_rows($result)>0) {
		
		while($fila = mysql_fetch_assoc($result)) {
			$mes = $meses[intval($fila['mes'])-1];
			$total = floatval($fila['total']);
			$grafico->set($mes,$total);			
		}
		$tpl->assignGlobal("grafico",$grafico->getOutput());
		mysql_free_result($result);
	}
	
	$query = "	SELECT clases.*, tablatotal.*, personas.nombre_persona as nombre_profesor, personas.porcentaje FROM 
					(	SELECT id_clase AS id_clase_det ,MAX(horas) AS totalhoras, 
						SUM(monto*horas) AS totalmonto 
						FROM clases_detalle 
						GROUP BY id_clase
					) AS tablatotal 
				INNER JOIN clases ON tablatotal.id_clase_det = clases.id_clase
				INNER JOIN personas ON clases.id_profesor = personas.id_persona 
				WHERE clases.id_profesor = '$id_yo'
				AND (fecha_clase BETWEEN '".fecha_a_db($fecha_desde)."' AND '".fecha_a_db($fecha_hasta)."') 
				ORDER BY clases.id_clase ASC
				";
	// id_clase totalhoras totalmonto descripcion_clase id_profesor fecha_clase comentarios ";
	
	$result = mysql_query($query);
	if($result && mysql_num_rows($result)>0) {
		$tpl->newBlock("CLASESOTORGADAS");
		$thoras = 0;
		while($fila = mysql_fetch_assoc($result)) {
			$tpl->newBlock("COITEM");
			$thoras += $fila['totalhoras'];
			$totalfacturas += $fila['totalmonto'];
			$fila['fecha_clase'] = db_a_fechacompleta($fila['fecha_clase']);
			$fila['totalmonto'] = tomoney($fila['totalmonto']);		
			$comision = floatval($fila['porcentaje']*$fila['totalmonto'])/100;
			$tpl->assign("comision",tomoney($comision)." (".intval($fila['porcentaje'])."%)");
			foreach($fila as $k=>$v) $tpl->assign($k,$v);						
		}
		$tpl->newBlock("COTOTAL");
		$tpl->assign("total_horas",$thoras);
		$tpl->assign("total_monto",tomoney($totalfacturas));
	}
	
	
	
	$query = "	SELECT clases.*, personas.nombre_persona AS nombre_profesor, tablatotal.totalhoras, tablatotal.totalmonto 
				FROM (SELECT DISTINCT id_clase FROM clases_detalle WHERE clases_detalle.id_alumno = '$id_yo') AS detalles
				INNER JOIN clases ON detalles.id_clase = clases.id_clase INNER JOIN personas
				ON clases.id_profesor = personas.id_persona
				INNER JOIN (SELECT id_clase AS id_clase_det ,MAX(horas) AS totalhoras, 
						SUM(monto*horas) AS totalmonto 
						FROM clases_detalle 
						GROUP BY id_clase
					) AS tablatotal 
				ON clases.id_clase = tablatotal.id_clase_det 
				WHERE (fecha_clase BETWEEN '".fecha_a_db($fecha_desde)."' AND '".fecha_a_db($fecha_hasta)."') 
				";

	$thoras =0 ;
	$totalfacturas =0;
	$result = mysql_query($query);
	if($result && mysql_num_rows($result)>0) {
		$tpl->newBlock("CLASESASISTIDAS");
		$thoras = 0;
		while($fila = mysql_fetch_assoc($result)) {
			$tpl->newBlock("CAITEM");
			$thoras += $fila['totalhoras'];
			$totalfacturas += $fila['totalmonto'];
			$fila['fecha_clase'] = db_a_fechacompleta($fila['fecha_clase']);
			$fila['totalmonto'] = tomoney($fila['totalmonto']);		
			$comision = floatval($fila['porcentaje']*$fila['totalmonto'])/100;
			$tpl->assign("comision",tomoney($comision)." (".intval($fila['porcentaje'])."%)");
			foreach($fila as $k=>$v) $tpl->assign($k,$v);						
		}
		$tpl->newBlock("CATOTAL");
		$tpl->assign("total_horas",$thoras);
		$tpl->assign("total_monto",tomoney($totalfacturas));
	}
	
	//foreach($mipersona as $k => $v) $tpl->assign($k,$v);
		
	/*$query = "SELECT * FROM transacciones WHERE id_persona = '$id_yo' 
			  AND (fecha_transaccion BETWEEN '".fecha_a_db($fecha_desde)."' AND '".fecha_a_db($fecha_hasta)."') 	
			  ORDER BY id_transaccion ASC";	
	$result = mysql_query($query);
	if($result && mysql_num_rows($result)>0) {
		if($anterior==0) $tpl->newBlock("LISTADOPAGOS");
		$tpl->assign("primer_nombre",$primer_nombre);
		while($fila = mysql_fetch_assoc($result)) {
			$tpl->newBlock("PAGOITEM");
			$fila['stamp'] = db_a_fechacompleta($fila['stamp']);			
			$fila['fecha_transaccion'] = db_a_fecha($fila['fecha_transaccion']);
			$monto = floatval($fila['monto']);
			$totalpagado += $monto;
			$fila['monto'] = tomoney($fila['monto']);
			foreach($fila as $k => $v) {
				 $tpl->assign($k,$v);
			}
			if($monto>0) {
				$tpl->assign("ingreso",tomoney(abs($monto)));
				$total_ingreso+= abs($monto);
			}
			else {
				$tpl->assign("egreso",tomoney(abs($monto)));
				$total_egreso+= abs($monto);
			}
		}
		$tpl->newBlock("PAGOTOTAL");
		$tpl->assign("total_ingreso",tomoney($total_ingreso));
		$tpl->assign("total_egreso",tomoney($total_egreso));
	}
	*/
	$tpl->Mostrar();
?>